home *** CD-ROM | disk | FTP | other *** search
-
-
- Final Release Notes for TESTDRV
-
-
- In order to test your driver, you need to do the following:
-
- 1. Edit the TESTDRV.PRO file to suit the options for your driver and
- your environment.
-
- e.g.
- ------------------------------------------------------------------------------
-
- ; This is a sample TESTDRV.PRO
- ; Comments are started with the ';' and continue to the newline
-
- DriverName = MSCD000 ; the driver to test, same as mscdex
- WriteDevice = f ; the device is not writable
- Redbook = t ; Supports redbook addressing
- RawMode = t ; supports raw mode data
- Prefetch = t ; supports prefetching
- AudioControl = t ; supports audio channel manipulation
- Audio = t ; supports digital audio
- AudioChannels = 2 ; 2 audio channels
- Interleave = f ; does not support interleaving
- Eject = t ; supports software eject/close
- UPC = t ; supports UPCcode information calls
- SubInfo = f ; does not support SubChannel information
- ;Interleaveskip = 0
- ;Interleavesize = 0
- ;HSGSectors = 000f00, 0003f3, 00800
- ;RedSectors = 4:4:5, 4:2:1
- ;OUTPUT = script.hex
-
- ;<EOF>
-
- ------------------------------------------------------------------------------
-
- 2. Insert a CDROM disk into your drive and execute TESTDRV with the
- appropriate command line options:
-
- /# - (where # is number from 0-7) The drive unit number
- /A - Attended Mode
- /I - Ignore Control Disks
- /T - Terse output (verbose is default)
- [FILENAME] - Alternate Profile
-
- All output is through standard out and can be captured with any
- redirection utility like TEE.COM
-
- 3. If your driver survives, try the test using one of the following discs:
-
- Microsoft Programmer's Library v1.0 (c)1988
- Microsoft Programmer's Library v1.1a (c)1989
- Microsoft Small Business Consultant v1.0 (c)1988
- Microsoft Bookshelf (c)1987
-
- The SECTOR MATCH test will attempt to verify the data from both
- HSG addressed Cooked and Raw modes. The location of sample archives
- is assumed to be the current directory, but may be specified by setting
- the TESTDRV environment variable to the correct directory path.
-
- Question and answer time:
-
- Q: What is the format of the output?
-
- A:
-
- <CODE> <STATUS> <COMMAND>:<COMMENT>
-
- The <CODE> is the driver request. Subcommands of IOCTLI and IOCTLO are
- separated by a period ".". The <STATUS> is the state of the test or request
- this may be:
-
- *ERROR* - High priority error, generated by the driver
- -ERROR- - Error, generated by this application
- WARNING - Unusual event, possibly hardware dependent
- TESTING - Announcement of a device request (verbose mode)
-
- The <COMMAND> is the mnemonic for the driver request. The <COMMENT> is
- any information the test might want to make known.
-
-
- Q: In "verbose mode" there are often trailing messages like ERROR 0x03,
- BUSY, or DONE. What do they mean?
-
- A:
-
- Each call to the driver should return a status word. The status word may
- have any combination of ERROR, BUSY and DONE bits set. If an ERROR is
- returned, it is accompanied by the lower byte of the status word and can
- be interpreted by looking at the driver spec. Since the testing suite
- is trying to invoke errors, the error bit will be set for many requests, but
- the interpretation of an incorrect return value will the TESTING line.
-
-
- Q: The TESTDRV program freezes at call 3.128 and locks up my machine.
- What does this mean?
-
- A:
-
- If the suite freezes, it is an indication of an incorrectly implemented
- driver function. No driver function is non-returnable and most driver
- functions must return in error if a the function cannot be completed.
-
- For example, if the test freezes at call 3.128 you should assume that there
- is something wrong with your driver's response to that call. TESTDRV does
- nothing more than send correctly formatted requests to the driver through the
- INT 2Fh interface for MSCDEX and report on incorrect responses.
-
- Q: The TESTDRV program freezes fairly early in the test and I would
- like to evaluate more of the driver calls before I start debugging.
- What can I do?
-
- A:
-
- By using the attended mode switch, you can skip tests that prove to be
- troublesome for your driver. For example, many drivers do not properly
- free the initialization code and forget to map the INIT call to UNKNOWN
- COMMAND. A driver that does not drop the initialization code is probably
- not of optimal size. The developer can use the HITACHI sources as a cue
- to implement this scheme.
-
- In the attended mode there is the option to switch into non attended mode.
- To do this type 'c' at any attended mode prompt.
-
- ------------------------------------------------------------------------------
-
- This suite was used to test the released HITACHI.SYS driver. Most late bug
- fixes made to this driver were as a result of failing a test in this suite.
- It is recommended that the developer use the HITACHI.SYS sources as a general
- template for adhereing to the spec. Feel free to modify the testing code
- for internal testing.
-
- - John Y. Geer
- johnyg@microsoft.com
-
- ------------------------------------------------------------------------------
-
- Some more undocumented changes:
-
- ATTENDED MODE CHOICES :
-
- At every prompt you will be given the choice "[Yncq]".
-
- Y or SPACE executes the test
- n skips the test
- c switches to non-attended mode
- q quits
-
-
- Last Update:
- 9/21/90
-